package Example.singleton;

import annoations.NotThreadSafe;

/**
 * 懒汉模式
 * 单例的实例，在第一次使用的时候创建对象
 *
 * 单线程没问题，多线程下有安全问题
 *
 * @author Wang Renlei
 * @Date 2020/7/1
 */
@NotThreadSafe
public class SingletonExample1 {

    //私有构造方法
    private SingletonExample1() {

    }

    //私有单例对象
    private static SingletonExample1 instance = null;

    //静态的工程方法
    public static SingletonExample1 getInstance() {
        if (instance == null) {
            instance = new SingletonExample1();
        }

        return instance;
    }

}
